from functools import wraps
from flask import g, redirect, url_for


def login_required(func):
    # 保留func的信息
    @wraps(func)
    # *args, **kwargs是装饰器的参数，*args表示位置参数，**kwargs表示关键字参数
    def inner(*args, **kwargs):
        # 在func执行之前，先判断用户是否登录
        if g.user:
            return func(*args, **kwargs)
        else:
            return redirect(url_for('auth.login'))

    return inner
